package com.pai4j.domain.dto.audit;

import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 内容审核请求DTO
 * 高度抽象的审核入参，支持各种类型的内容审核
 *
 * @author: CYM-pai
 * @date: 2025/08/06 10:05
 **/
@Data
public class ContentAuditRequestDTO {
    
    /**
     * 审核业务ID（如文章ID、动态ID、评论ID等）
     */
    private String businessId;
    
    /**
     * 审核业务类型
     * @see com.pai4j.common.enums.AuditBusinessTypeEnum
     */
    private Integer businessType;
    
    /**
     * 内容类型
     * @see com.pai4j.common.enums.ContentTypeEnum
     */
    private Integer contentType;
    
    /**
     * 主要文本内容
     */
    private String textContent;
    
    /**
     * 标题（可选）
     */
    private String title;
    
    /**
     * 图片URL列表（可选）
     */
    private List<String> imageUrls;
    
    /**
     * 视频URL列表（可选）
     */
    private List<String> videoUrls;
    
    /**
     * 音频URL列表（可选）
     */
    private List<String> audioUrls;
    
    /**
     * 链接URL列表（可选）
     */
    private List<String> linkUrls;
    
    /**
     * 内容作者ID
     */
    private String authorId;
    
    /**
     * 内容作者用户名
     */
    private String authorName;
    
    /**
     * 发布IP地址
     */
    private String publishIp;
    
    /**
     * 发布时间戳
     */
    private Long publishTime;
    
    /**
     * 扩展属性（用于特殊业务场景的额外信息）
     */
    private Map<String, Object> extendProperties;
    
    /**
     * 审核优先级
     * @see com.pai4j.common.enums.AuditPriorityEnum
     */
    private Integer priority;
    
    /**
     * 是否异步审核（默认true）
     */
    private Boolean async = true;
    
    /**
     * 审核策略配置（可选，不传则使用默认策略）
     */
    private AuditStrategyConfigDTO strategyConfig;
}
